/***
题目链接：回文排列
给定一个字符串，编写一个函数判定其是否为某个回文串的排列之一。
回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。
回文串不一定是字典当中的单词。
输入："tactcoa"
输出：true（排列有"tacocat"、"atcocta"，等等）
链接：https://leetcode-cn.com/problems/palindrome-permutation-lcci
***/
class Solution {
public:
    bool canPermutePalindrome(string s) {
        //最多只有一个字母是基数，其余的字母个数是偶数
        int len_s=s.size();
        unordered_map<char,int> diction;
        int flag = 0;
        for(auto char_:s){
            diction[char_]++;
        }

        for(auto key_value:diction){
            if((key_value.second % 2) != 0) flag++;
        }

        if(flag==1) return true;
        if(flag==0) return true;
        return false;
    }
};